Telekommunikációs hálózatok > Gyakorlati anyag >
Hálózati eszközök
Hálózati eszközök
Ping:
A ping egy olyan eszköz, amely alapértelmezetten, minden operációs rendszeren
jelen van.
Egy host elérhetőségét lehet vele ellenőrizni, illetve a válaszidőt tudjuk mérni vele (RTT).
Rengeteg módon paraméterezhetjük a ping programot kapcsolók segítségével. De ez operációs
rendszerenként eltérő. További beállításokért érdemes megnézni a manuált.
Linuxon:
lakis@dpdk-pktgen:~$ ping 8.8.8.8 -c 4 -i 0.01
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=59 time=14.1 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=59 time=15.1 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=59 time=12.7 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=59 time=14.6 ms
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 41ms
rtt min/avg/max/mdev = 12.663/14.125/15.136/0.920 ms, pipe 2
Windowson:
C:\Windows\system32>ping 8.8.8.8 -n 4
Reply from 8.8.8.8: bytes=32 time=14ms TTL=60
Reply from 8.8.8.8: bytes=32 time=14ms TTL=60
Reply from 8.8.8.8: bytes=32 time=14ms TTL=60
Reply from 8.8.8.8: bytes=32 time=14ms TTL=60
Ping statistics for 8.8.8.8:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 14ms, Maximum = 14ms, Average = 14ms
Traceroute (linux), Tracert (windows):
Ezek az eszközök olyan információkat biztosítanak nekünk, hogy a küldött
csomagjaink milyen útvonalon jutnak el tőlük a célhoz. Ha többször futtatjuk le lehet, hogy más
útvonalat látunk, mivel egy-egy host több útvonalon is elérhető lehet. Láthatjuk még azt is, hogy
hol mekkora késleltetés van az útvonalon.
Linuxon:
lakis@dpdk-pktgen:~$ traceroute berkeley.edu
traceroute to berkeley.edu (35.163.72.93), 30 hops max, 60 byte packets
1 192.168.0.192 (192.168.0.192) 0.292 ms 0.344 ms 0.390 ms
2 ikoktatok-gate.inf.elte.hu (157.181.167.254) 1.251 ms 1.250 ms 1.265 ms
3 taurus.centaur-taurus.elte.hu (157.181.126.134) 5.180 ms 5.267 ms 5.325 ms
4 fw1.firewall.elte.hu (157.181.141.145) 1.271 ms 1.358 ms 1.299 ms
5 taurus.fw1.fw.backbone.elte.hu (192.153.18.146) 5.626 ms 5.356 ms 5.395 ms
6 rtr.hbone-elte.elte.hu (157.181.141.9) 2.229 ms 1.245 ms 1.749 ms
7 tg0-0-0-14.rtr2.vh.hbone.hu (195.111.100.47) 2.377 ms 2.415 ms 2.407 ms
8 be1.rtr1.vh.hbone.hu (195.111.96.56) 1.945 ms 1.642 ms 1.877 ms
9 bpt-b4-link.telia.net (80.239.195.56) 1.626 ms 1.581 ms 1.097 ms
10 win-bb2-link.telia.net (62.115.143.116) 196.574 ms win-bb2-link.telia.net (213.155.137.38) 196.993 ms
win-bb2-link.telia.net (213.155.135.222) 180.071 ms
11 ffm-bb4-link.telia.net (62.115.133.79) 199.425 ms 199.232 ms *
12 * * *
13 prs-bb3-link.telia.net (62.115.137.114) 180.494 ms 179.986 ms *
14 sjo-b21-link.telia.net (62.115.119.229) 197.252 ms 197.249 ms 197.264 ms
15 * a100row-ic-300117-sjo-b21.c.telia.net (213.248.87.118) 196.555 ms *
16 nyk-bb4-link.telia.net (62.115.142.222) 180.081 ms 54.240.242.148 (54.240.242.148) 200.986 ms
54.240.242.88 (54.240.242.88) 201.877 ms
17 54.240.242.161 (54.240.242.161) 200.935 ms * *
18 * * *
19 * * *
Windowson:
C:\Windows\system32>tracert berkeley.edu
Tracing route to berkeley.edu [141.193.213.21]
over a maximum of 30 hops:
1 4 ms 4 ms 4 ms 192.168.0.1
2 13 ms 14 ms 12 ms catv-86-101-192-8.catv.fixed.vodafone.hu [84.100.190.9]
3 * * * Request timed out.
4 17 ms 14 ms 15 ms catv-89-133-5-121.catv.fixed.vodafone.hu [88.122.5.121]
5 16 ms 17 ms 16 ms bpt-b6-link.ip.twelve99.net [62.115.44.66]
6 14 ms 13 ms 17 ms bpt-b2-link.ip.twelve99.net [62.115.112.226]
7 116 ms 13 ms 13 ms bpt-b3-link.ip.twelve99.net [62.115.134.132]
8 17 ms 31 ms 15 ms cloudflare-ic-369085.ip.twelve99-cust.net [62.115.146.45]
9 15 ms 13 ms 14 ms 141.193.213.21
Trace complete.
Tcpdump, tshark, wireshark:
A tcpdump, tshark és wireshark mindegyike hálózat figyelésre való eszköz.
Segítségével láthatjuk, hogy egyes interface-eken milyen csomagok haladtak keresztük. Akár szűrni is
tudunk bizonyos csomagokra és akár bájt szinten bele is nézhetünk a csomagok tartalmába.
Tcpdump:
Ebben a példában tcpdump segítségével -i kapcsolóval megadjuk, hogy melyik
interface-en szeretnénk figyelni, -e-vel megadjuk milyen protokollt szeretnénk figyelni és -w-vel
lementjük ezt egy out.pcap fájlba.
Linuxon:
lakis@dpdk-pktgen:~$ tcpdump -i enp0s3 -w out.pcap -e icmp
tcpdump: listening on enp0s3, link-type EN10MB (Ethernet), snapshot length 262144 bytes
8 packets captured
8 packets received by filter
0 packets dropped by kernel
Képesek vagyunk szűrni egy adott hostra, akitől érkeznek csomagok és egy adott
portot is megadhatunk. Például, ha az alábbi parancsot kiadjuk és a böngészőnkben rákeresünk a
dns.google.com-ra, akkor láthatjuk, hogy a google dns szervere válaszolt nekünk https porton
keresztül.
Linuxon:
lakis@dpdk-pktgen:~$ tcpdump -i enp0s3 host 8.8.8.8 and port 443
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), snapshot length 262144 bytes
16:04:07.954409 IP dpdk-pktgen.34520 > dns.google.https: Flags [S], seq 356450301, win 64240, options
[mss 1460,sackOK,TS val 1992832445 ecr 0,nop,wscale 7], length 0
16:04:07.969011 IP dns.google.https > dpdk-pktgen.34520: Flags [S.], seq 301568001, ack 356450302, win
65535, options [mss 1460], length 0
16:04:07.969027 IP dpdk-pktgen.34520 > dns.google.https: Flags [.], ack 1, win 64240, length 0
16:04:07.969761 IP dpdk-pktgen.34520 > dns.google.https: Flags [P.], seq 1:659, ack 1, win 64240,
length 658
16:04:07.970017 IP dns.google.https > dpdk-pktgen.34520: Flags [.], ack 659, win 65535, length 0
16:04:08.010573 IP dns.google.https > dpdk-pktgen.34520: Flags [.], seq 1:2921, ack 659, win 65535,
length 2920
Tshark:
Tshark segítségével is hasonlóképpen figyelhetjük a hálózatot és ugyanúgy
lementhetjük az adatokat egy fájlba. A tshark valójában a Wireshark konzolos megfelelője, ami akkor
jöhet jól, ha csak egy terminálunk van és nem tudunk megnyitni GUI-s felületet.
A Wireshark rendelkezik egy GUI-s felülettel. Bal fent láthatjuk egymás mellett
az indítás leállítás és újraindítás gombokat. Alatta egy szűrőt láthatunk. Alatta vannak a kiszűrt
csomagok. Az alatt az éppen kiválasztott csomag felépítését láthatjuk, bájt szinten is.
Wiresharkban a szűrés az alábbi módon működik. Operátorok lehetnek: or, and, xor,
not. Példa: tcp.flags.ack==1 and tcp.dstport==80
Netcat (SoCat), avagy hálózati svájcibicska:
A netcat (vagy nc) egy hálózati program, amely TCP vagy UDP használatával
hálózati kapcsolatokról olvas és ír. Funkciókban gazdag hálózati hibakereső és vizsgáló eszköz,
hiszen szinte bármilyen kapcsolatot képes létrehozni, amire a felhasználónak szüksége lehet, és
számos beépített képességgel rendelkezik. Képes port szkennelésre, fájlátvitelre és porthallgatásra
is.
Linuxon szerver imitálása:
lakis@dpdk-pktgen:~$ nc -4l -p 8000
asd
asd2
Linuxon kliens imitálása:
lakis@dpdk-pktgen:~$ nc 127.0.0.1 8000
asd
asd2
Ip, ifconfig (linux), ipconfig (windows):
Ezekkel az eszközökkel például lekérdezhetjük, hogy milyen interface-eink vannak
és milyen ip és mac címei vannak az interface-eknek.
Linuxon:
lakis@dpdk-pktgen:~$ ip link
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:c1:c8:9c brd ff:ff:ff:ff:ff:ff
Az alábbi feladatok a gyakorlatokon elvégzendő kötelező, illetve
gyakorló
feladatok.
1. feladat:
A http_out.pcapng felhasználásával állomány
felhasználásával válaszolja meg az alábbi
kérdéseket:
Milyen oldalakat kértek le a szűrés alapján? Milyen böngészőt használtak
hozzá?
Hány darab képet érintett a böngészés? (Segítség: webp.)
Hány olyan erőforrás volt, amelyet nem kellett újra töltenie a böngészőnek?
Mely oldalakat érintette ez?
Volt-e olyan kérés, amely titkosított kommunikációt takar? (Segítség:
SSL/TLS.) Kövesse végig az első TCP folyamát. Mit tud kideríteni a
kommunikációról?
Milyen oldalakat kértek le a szűrés alapján? Milyen böngészőt használtak
hozzá? http.request.method=="GET"
Hány darab képet érintett a böngészés? http.accept == "image/webp,*/*;q=0.8"
Hány olyan erőforrás volt, amelyet nem kellett újra töltenie a böngészőnek?
Mely oldalakat érintette ez? http.response.code == 304 (to.ttk.elte.hu és
www.inf.elte.hu)
Volt-e olyan kérés, amely titkosított kommunikációt takar? (Segítség:
SSL/TLS.) Kövesse végig az első TCP folyamát. Mit tud kideríteni a
kommunikációról? tcp.dstport==443
2. feladat:
A dns_out.pcapng felhasználásával állomány
felhasználásával válaszolja meg az alábbi
kérdéseket:
Hány domén név feloldást kezdeményeztek a szűrés
alapján? Mely domén nevek voltak ezek?
Válaszon ki 3 darab különböző domén nevet, és
keresse meg a válasz csomagokat hozzájuk? Hány
darab válasz van az egyes kérésekre? (Segítség: ID.)
Hány olyan névfeloldás volt, amelyre több válasz is
érkezett?
Volt-e iteratív lekérdezés a szűrésben? Ha igen, akkor
mennyi? Ha nem, akkor mi lehet a magyarázat?
3. feladat:
A neptun_out.pcapng felhasználásával állomány
felhasználásával válaszolja meg az alábbi kérdéseket:
Milyen oldalakat kértek le a szűrés alapján? Milyen
böngészőt használtak hozzá?
Hány darab SSL/TLS protokollt használó csomag van? Az
elsőn kövesse végig a kommunikációt. Minden működési
elvnek megfelelően lezajlott?
Kezdeményezett-e megszakítást a szerver a
kommunikáció során?
Kideríthető-e, hogy milyen kommunikáció folyt a szerver
és a kliens között? Esetleg megtippelhető-e a használt
böngésző típusa?
4. feladat:
Nyissuk meg a sample3.pcapng fájlt!
Keressük olyan POST kérést, amely login
oldalra vezet!
Nézzük meg a POST hívás paramétereit!